# -*- coding: utf-8 -*-
#Modulos standars de django
from django.core.mail import EmailMessage
from django.contrib.auth.models import User, UserManager #poner las tablas donde se buscar para el exist...


#Definimos funciones utilizables
def exist(tabla,campo,valor): #tabla es el objeto proveniente de models / campo el string con el nombre del campo de la tabla / valor es lo que se quiera buscar
	try:
		if campo=="username": tabla.objects.get(username=valor)
		elif campo=="id": tabla.objects.get(id=valor)
		elif campo=="email": tabla.objects.get(email=valor)
		elif campo=="user": tabla.objects.get(user=valor)
		else: eval(tabla().__class__.__name__+".objects.get("+campo+"='"+valor+"')")
	except: return False
	return True


def save(registro): #Funcion encargada de grabar en la base de datos
	try: registro.save()
	except: return False
	return True


def mail_activacion(user, pwd, email): 	#Funcion encargada de calcular el codigo de activacion
	mail_code = 0						#Y enviarlo por mail al usuario
	for x in range(len(user)):
		mail_code+= ord(user[x])
	activa_link= "www.mundofacu.com.ar/usr/active/"+ user + "/" + str(mail_code)
	mail_text= 'Felicitaciones '+user+", su password es: "+pwd+".\n Haga click en el siguiente link: "+ activa_link
	e = EmailMessage('Registracion en mundofacu.com.ar' ,mail_text , to=[email])
	e.send() #Lo enviamos


def newpass(user):						#Funcion encargada de generar nueva password
	um = UserManager()					#Y enviarla al usuario
	pwd = um.make_random_password() #Creamos la pasword
	mail_text= user.username+", su nueva password es: " + pwd
	e = EmailMessage('Nueva password' ,mail_text , to=[user.email])
	e.send() #Lo enviamos
	user.set_password(pwd) #La guardamos hasheada
	user.save()


def chpass(user, newpwd):
	user.set_password(newpwd)
	user.save()


def mail_desactivacion(user, tipo, motivo, hasta):					#Funcion encargada de calcular el codigo de activacion
	if tipo == "1": msg= "Su cuenta no se encuentra habilitada para realizar threads u comentarios hasta el "+str(hasta)+" por: "+motivo+"s."
	elif tipo == "2": msg= "Su cuenta ha sido suspendida hasta el "+str(hasta)+" por: "+motivo+"."
	elif tipo == "3": msg= "Su cuenta ha sido banneada por: " +motivo+"."
	EmailMessage('Equipo de mundofacu.com.ar' ,msg , to=[user.email]).send()